# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/31 11:08 
@Author  : ZhangShenao 
@File    : 4.使用自定义的正则路由转换器.py 
@Desc    : 使用自定义的RegexConverter正则路由转换器

在Flask中,可以通过继承BaseConverter,实现自定义路由转换器
之后通过Flask的app.url_map.converters属性,注册自定义的路由转换器
"""
from flask import Flask

from regex_converter import RegexConverter

app = Flask(__name__)
app.config["DEBUG"] = True

# 注册自定义的路由转换器,并指定转换器的key
app.url_map.converters["regex"] = RegexConverter


# 注册路由,并使用自定义的路由转换器
# 使用正则路由转换器regex,匹配手机号
@app.route("/sms/<regex('1[3-9]\\d{9}'):phone_number>", methods=["POST"])
def send_sms(phone_number: str) -> str:
    return f"send sms to {phone_number}"


if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5000)
